solution-explorer-panel {
  flex: 1;
  flex-basis: 250px;
  max-width: 250px;
}

.solution-explorer {
  display: block;
  width: 250px;
  height: 100%;
  min-width: 200px;
  background-color: #f7f7f7;
  border-right: 2px solid #dcdbdb;
  user-select: none;
}

.solution-explorer-panel {
  position: relative;
  height: 100%;
}

.solution-explorer-panel__header {
  padding: 5px 5px;
  display: flex;
  color: #a5a5a5;
  border-bottom: 2px solid #dcdbdb;
}

.solution-explorer-panel__header-name {
  font-size: 14px;
  flex: 1;
}

.solution-explorer-panel__actions {
  display: flex;
}

.solution-explorer-panel__actions button {
  padding: 0 2px;
  background: transparent;
  border: none;
  vertical-align: middle;
}

.solution-explorer-panel__input {
  visibility: hidden;
  height: 0;
}

.solution-explorer-panel button {
  min-width: 20px;
}

.solution-explorer-panel__card__alert {
  margin-top: 10px;
  margin-bottom: 0;
}

.solution-explorer-panel__invalid-uri-message {
  white-space: pre-line;
}

/*
 * Remote Solution Modal Dialog
*/

.uri-input--invalid {
  border: 2px red solid;
}

.uri-input--invalid:focus {
  border: 2px red solid;
}

.remote-solution-list {
  margin: 14px 0;
  width: 100%;
  height: 120px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #ccc;
  border-radius: 10px;
}

.remote-solution-list__remote-solution {
  position: relative;
  width: 100%;
  height: 40px;
  padding: 0 10px;
  // Prevent double border at bottom
  margin-bottom: -1px;
  overflow: hidden;
  color: darkgray;
  border-bottom: 1px solid #ccc;
  user-select: none;
}

.remote-solution-list__remote-solution:hover {
  background-color: rgba(204, 204, 204, 0.25);
  color: black;
}

.remote-solution-list__solution-data {
  position: absolute;
  top: 50%;
  width: calc(100% - 20px);
  height: 20px;
  transform: translateY(-50%);
}

.remote-solution-list__remote-solution-selected {
  background-color: rgba(204, 204, 204, 0.5) !important;
  color: black;
}

.remote-solution-list__close-button {
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: 1px;
  background-color: transparent;
  border: none;
  transform: translateY(-50%);
}

.remote-solution-list__status-icon {
  margin-right: 5px;
}

.solution-explorer-panel__protocol-selector {
  width: 85px;
}

.remote-solution-badge {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.remote-solution-badge__dev {
  background: rgb(45, 45, 60);
}

.remote-solution-badge__alpha {
  background: rgb(170, 170, 170);
}

.remote-solution-badge__beta {
  background: rgb(220, 190, 90);
}

.remote-solution-badge__stable {
  background: rgb(90, 170, 220);
}

.remote-solution-list__loading-spinner {
  display: inline-block;
  width: 100%;
  height: 100%;
  user-select: none;
  white-space: nowrap;
}

.remote-solution-list__loading-spinner-icon {
  position: absolute;
  left: 50%;
  top: calc(50% - 22px);
  height: 150px;
  transform: translate(-50%, -50%);
}

.remote-solution-list__loading-spinner-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 5px;
  bottom: 10px;
}

.remote-solution-list__connection-error-message {
  margin-bottom: 0px;
  white-space: pre-wrap;
}
